Image Forming Apparatus Capable of Speeding Up Drawing Process, an Image Forming Method, and a Non-Transitory Computer-Readable Recording Medium

ABSTRACT

An image forming apparatus includes a count unit, a count determination unit, a drawing process execution unit, and a count resetting unit. The count unit counts a drawing command for a vector object. The count determination unit determines whether or not a count of the drawing commands obtained by the count unit is equal to or larger than a threshold value. The drawing process execution unit executes, when the count determination unit determines that the count is equal to or larger than the threshold value all the drawing commands for the vector objects counted by the count unit prior to the count being equal to or larger than the threshold value. The count resetting unit resets the count obtained by the count unit when the drawing process execution unit executes the drawing command.

REFERENCE TO RELATED APPLICATIONS AND INCORPORATION BY REFERENCE

This application is a divisional application of, claims priority to, andincorporates herein by reference the contents of U.S. patent applicationSer. No. 14/663,069, filed in the United States Patent and TrademarkOffice on Mar. 19, 2015, which is based upon and claims priority to thecorresponding Japanese Patent Application No. 2014-069018, filed in theJapan Patent Office on Mar. 28, 2014, the entire contents of which areincorporated herein by reference.

FIELD

Unless otherwise indicated herein, the description in this field sectionand the background section is not prior art to the claims in thisapplication and is not admitted to be prior art by inclusion in thissection. The present disclosure relates to an image forming apparatus,an image forming method, and a non-transitory computer-readablerecording medium.

BACKGROUND

A typical data processing device including a printer driver controls theprinter driver to convert print data received from an application intopage description language (PDL) data and transmit the PDL data to animage forming apparatus. In the conversion into the PDL data, a textobject (character code), a vector object (graphic form or line), or araster object (image) is converted into an object of the same format inprinciple.

Further, a typical data processing device extracts an image element fromthe data for printing and converts the extracted image element into thePDL data based on a page description language when a print shape formedof a combination of image elements is a broken line.

Such a technology results in the converted PDL data having a smallersize than the size of the application print data. However, theabove-described technology does nothing to speed-up the drawing processwhen the PDL data converted by the data processing device is transmittedto the image forming apparatus or when the PDL data is subjected to thedrawing process by the image forming apparatus.

SUMMARY

The present disclosure relates to an image forming apparatus capable ofspeeding up a drawing process, an image forming method, and anon-transitory computer-readable recording medium.

The image forming apparatus according to one embodiment of the presentdisclosure includes a count unit, a count determination unit, a drawingprocess execution unit, and a count resetting unit.

The count unit counts a drawing command for a vector object.

The count determination unit determines whether the count of the drawingcommands obtained by the count unit is equal to or larger than athreshold value.

The drawing process execution unit executes, when the countdetermination unit determines that the count is equal to or larger thanthe threshold value, all the drawing commands for the vector objectscounted by the count unit prior to the count being equal to or largerthan the threshold value.

The count resetting unit resets the count obtained by the count unitwhen the drawing process execution unit executes the drawing command.

Additional features and advantages are described herein, and will beapparent from the following Detailed Description and the figures.

BRIEF DESCRIPTION OF FIGURES

All drawings are intended to illustrate aspects and examples of thepresent disclosure. The drawings described are only schematic and arenon-limiting, and are not necessarily drawn to scale.

FIG. 1 is a schematic diagram illustrating a configuration of an imageforming apparatus according to a first embodiment or a second embodimentof the present disclosure.

FIG. 2 is a schematic diagram illustrating a functional blockconfiguration of the image forming apparatus according to the firstembodiment or the second embodiment.

FIG. 3 is a schematic diagram illustrating a functional blockconfiguration of a drawing data processing unit of the image formingapparatus according to the first embodiment or the second embodiment.

FIG. 4 is a schematic diagram illustrating a functional blockconfiguration of a vector processing unit of the image forming apparatusaccording to the first embodiment.

FIG. 5 is a flowchart of a vector drawing process executed by the imageforming apparatus according to the first embodiment.

FIG. 6 is a schematic diagram illustrating a functional blockconfiguration of a vector processing unit of the image forming apparatusaccording to the second embodiment.

FIG. 7 is a flowchart of the vector drawing process executed by theimage forming apparatus according to the second embodiment.

DETAILED DESCRIPTION

Various embodiments are described below with reference to the figures.It should be understood, however, that numerous variations from thedepicted arrangements and functions are possible while remaining withinthe scope and spirit of the claims. For instance, one or more elementsmay be added, removed, combined, distributed, substituted,re-positioned, re-ordered, and/or otherwise changed. Further, where thisdescription refers to one or more functions being implemented on and/orby one or more devices, one or more machines, and/or one or morenetworks, it should be understood that one or more of such entitiescould carry out one or more of such functions by themselves or incooperation, and may do so by application of any suitable combination ofhardware, firmware, and/or software. For instance, one or moreprocessors may execute one or more sets of programming commands as atleast one unit of carrying out one or more of the functions describedherein.

First Embodiment

FIG. 1 is a schematic diagram illustrating a configuration of an imageforming apparatus 1 according to a first embodiment of the presentdisclosure.

The image forming apparatus 1 according to this embodiment includes amanuscript reading unit 2, a manuscript feeding unit 3, a main body unit4, a stack tray 5, and an operation panel unit 6 (input unit).

The manuscript reading unit 2 may be located above the main body unit 4,and the manuscript feeding unit 3 may be located above the manuscriptreading unit 2. The stack tray 5 may be located on a side of an outlet41 for recording paper mounted to the main body unit 4, and theoperation panel unit 6 may be located on a front side of the main bodyunit 4.

The manuscript reading unit 2 includes a scanner 21, a platen glassplate 22, and a manuscript reading slit 23. The scanner 21 includes anexposure lamp and a charge coupled device (CCD) or complementary metaloxide semiconductor (CMOS) image pickup sensor, and is configured to bemovable in a direction in which a manuscript is conveyed by themanuscript feeding unit 3. The platen glass plate 22 is a manuscripttable formed of a transparent member such as glass. The manuscriptreading slit 23 includes a slit formed in a direction orthogonal to thedirection in which the manuscript is conveyed by the manuscript feedingunit 3.

To read the manuscript placed on the platen glass plate 22, the scanner21 is moved to a position opposed to the platen glass plate 22, readsthe manuscript placed on the platen glass plate 22 while scanning themanuscript to acquire image data, and outputs the acquired image data toa data generation unit 9 illustrated in FIG. 2 included in a controlcircuit of the main body unit 4.

Further, to read the manuscript conveyed by the manuscript feeding unit3, the scanner 21 is moved to a position opposed to the manuscriptreading slit 23, reads the manuscript via the manuscript reading slit 23in synchronization with a conveying operation conducted for themanuscript by the manuscript feeding unit 3 to acquire image data, andoutputs the acquired image data to the data generation unit 9illustrated in FIG. 2 included in the control circuit of the main bodyunit 4. Note that, the image data acquired by the scanner 21 can also bestored in a peripheral device such as a PC and then input to the datageneration unit 9 via a communication interface 11 and a data receptionunit 12.

The manuscript feeding unit 3 includes a manuscript placement unit 31, amanuscript delivery unit 32, and a manuscript conveying mechanism 33.The manuscripts placed on the manuscript placement unit 31 aresuccessively drawn out by the manuscript conveying mechanism 33 sheet bysheet to be conveyed to a position opposed to the manuscript readingslit 23 and then delivered onto the manuscript delivery unit 32. Notethat, the manuscript feeding unit 3 is configured to be tiltable, and bylifting the manuscript feeding unit 3 upward, it is possible to exposean upper surface of the platen glass plate 22.

The main body unit 4 includes an output unit 7, a sheet feeding unit 42,a sheet conveying path 43, a conveying roller pair 44, and a deliveryroller pair 45. The sheet feeding unit 42 includes a plurality of sheetfeeding cassettes 421 in which recording paper having mutually differentsizes or orientations is received and a sheet feeding roller 422 thatdraws out the recording paper from each sheet feeding cassette 421 sheetby sheet to the sheet conveying path 43.

The sheet feeding roller 422, the conveying roller pair 44, and thedelivery roller pair 45 function as a conveying unit. The recordingpaper is conveyed by the conveying unit. The recording paper drawn outto the sheet conveying path 43 by the sheet feeding roller 422 isconveyed to the output unit 7 by the conveying roller pair 44.

Then, the recording paper subjected to the recording by the output unit7 is delivered to the stack tray 5 by the delivery roller pair 45.

The operation panel unit 6 includes a display panel 61 such as an LCDand the input unit including a start key, a numeric keypad, a switchingbutton between operation modes of copy, FAX transmission, scan, and thelike, and buttons or a touch panel used to issue an command on printing,transmission, reception, saving, or recording. In other words, theoperation panel unit 6 receives an input of commands for those kinds ofjob issued to the image forming apparatus 1 by a user.

Further, the operation panel unit 6 receives an input of authenticationinformation such as a password from the user.

The output unit 7 includes a photosensitive drum 71, an exposure unit72, a developing unit 73, a transfer unit 74, and a fixing device 8. Theexposure unit 72 may be an optical unit including a laser device, amirror, and a lens, and outputs a beam based on the image data to exposethe photosensitive drum 71 thereto, to thereby form an electrostaticlatent image on a front surface of the photosensitive drum 71. Thedeveloping unit 73 develops the electrostatic latent image formed on thephotosensitive drum 71 by using toner, and forms a toner image based onthe electrostatic latent image on the photosensitive drum 71.

The transfer unit 74 transfers the toner image formed on thephotosensitive drum 71 by the developing unit 73 onto the recordingpaper. The fixing device 8 heats the recording paper onto which thetoner image has been transferred by the transfer unit 74, to thereby fixthe toner image to the recording paper.

FIG. 2 is a schematic diagram illustrating a functional blockconfiguration of the image forming apparatus 1. The image formingapparatus 1 includes the data reception unit 12 that receives PDL datafrom a data processing device such as a host computer via thecommunication interface 11, the data generation unit 9 that generatesdata for drawing based on the PDL data received by the data receptionunit 12 or the data input from the scanner 21, the output unit 7 thatprints the data generated by the data generation unit 9 on the recordingpaper as described above, a system control unit 13 that controls asystem by managing shared information on the system, and a memorymanagement unit 14 that manages a memory used by the system.

The data generation unit 9 includes a data analysis unit 91 thatanalyzes the PDL data received by the data reception unit 12, a drawingdata processing unit 92 that processes drawing data in accordance with acommand issued from the data analysis unit 91, and a drawing unit 94that generates a bitmap in a VRAM 93 from a display list generated bythe drawing data processing unit 92.

The data analysis unit 91 interprets a command included in the PDL data,and in accordance with a type of the interpreted command, transmits thecommand to each of processing units 95 to 98 illustrated in FIG. 3included in the drawing data processing unit 92. Further, the dataanalysis unit 91 transmits path information on an interpreted drawingcommand (vector drawing) for a vector object to the path processing unit95. Further, when the analyzed data includes a page delivery command,the data analysis unit 91 also transmits the command to the vectorprocessing unit 96 illustrated in FIG. 3 included in the drawing dataprocessing unit 92.

FIG. 3 is a schematic diagram illustrating a functional blockconfiguration of the drawing data processing unit 92 of the imageforming apparatus 1. The drawing data processing unit 92 includes, asillustrated in FIG. 3, the path processing unit 95 that processes thepath information on the vector drawing, the vector processing unit 96that generates the display list of the vector drawing, the imageprocessing unit 97 that generates the display list in accordance with animage drawing command, the character processing unit 98 that generatesthe display list in accordance with a character drawing command, and thepath management unit 99 that manages the path information processed bythe path processing unit 95.

The path processing unit 95 serves to process information including acoordinate position of the vector drawing such as a line or a polygonincluded in the path information. The vector processing unit 96generates the display list by subjecting the vector object to a drawingprocess in accordance with a vector drawing command. The imageprocessing unit 97 generates the display list by processing an image inaccordance with the image drawing command. The character processing unit98 generates the display list by processing a text object in accordancewith the character drawing command.

FIG. 4 is a schematic diagram illustrating a functional blockconfiguration of the vector processing unit of the image formingapparatus according to the first embodiment. The vector processing unit96 includes, as illustrated in FIG. 4, a vector process executiondetermination unit 100 that determines whether or not to execute thevector process, a vector command counter 101 that counts the vectordrawing command, and a vector process execution unit 102 that generatesthe display list by subjecting the vector object to the drawing process.

The vector process execution determination unit 100 adds “1” to a valueof the vector command counter 101 each time the drawing command for thevector object is transmitted. Further, the vector process executiondetermination unit 100 determines whether or not the value of the vectorcommand counter is equal to or larger than a threshold value determinedin advance, and when the value is equal to or larger than the thresholdvalue, transmits the vector drawing command to the vector processexecution unit 102. The threshold value determined by the vector processexecution determination unit 100 is a threshold value indicating howmany vector commands need to be accumulated before the vector processtherefor is collectively executed in actuality, and can be determined inadvance by the user. Further, when the page delivery command istransmitted from the data analysis unit, the vector process executiondetermination unit 100 determines whether or not the value of the vectorcommand counter 101 is equal to or larger than 1, and when the value isequal to or larger than 1, the vector drawing command is transmitted tothe vector process execution unit 102.

When the vector drawing command is transmitted from the vector processexecution determination unit 100, the vector process execution unit 102executes the drawing process for the vector object based on the pathinformation managed by the path management unit 99. Further, afterexecuting the drawing process for the vector object, the vector processexecution unit 102 resets the value of the vector command counter 101.

FIG. 5 is a flowchart of a vector drawing process executed by the imageforming apparatus 1 according to the first embodiment.

The image forming apparatus 1 receives printable data input via thecommunication interface 11 by the data reception unit 12 (Step S1). Theimage forming apparatus 1 interprets a command described in PDL in theprintable data by the data analysis unit 91 (Step S2). When the commandwithin the PDL data is interpreted in Step S2, a process of loop 1 fromStep S3 to Step S13 is repeatedly executed for each command. When theprocess of loop 1 is executed up to a data termination command, thevector drawing process is brought to an end.

In the process of loop 1, the data analysis unit 91 determines whetheror not the command interpreted in Step S2 is the drawing command (StepS3). When the command is the drawing command, “YES” is determined inStep S3, and hence the data analysis unit 91 determines whether or notthe command interpreted in Step S2 is the drawing command for the vectorobject (Step S4).

When “YES” is determined in Step S4, the data analysis unit 91 transmitsthe drawing command for the vector object to the drawing data processingunit 92, and a process for the drawing command is executed by the vectorprocessing unit 96. In the vector processing unit 96, the vector processexecution determination unit 100 adds “1” to the value of the vectorcommand counter 101 each time the drawing command for the vector objectis transmitted, and further determines whether or not the value of thevector command counter 101 is equal to or larger than the thresholdvalue determined in advance (Step S5). When “YES” is determined, thevector process execution unit 102 executes the drawing process for thevector object (Step S6), and resets the value of the vector commandcounter 101 (Step S7).

When “NO” is determined in Step S3, the data analysis unit 91 determineswhether or not the command interpreted in Step S2 is the page deliverycommand (Step S8). When “NO” is determined in Step S4 or when “YES” isdetermined in Step S8, in other words, when the command interpreted inStep S2 is a drawing command for a process different from the vectordrawing or the page delivery command, the vector process executiondetermination unit 100 determines whether or not the value of the vectorcommand counter 101 is equal to or larger than 1 (Step S9). When “YES”is determined in Step S9, the vector process execution unit 102 executesthe drawing process for the vector object (Step S10), and resets thevalue of the vector command counter 101 (Step S11).

After the process of Step S11 is executed or when “NO” is determined inStep S9, in accordance with the command interpreted in Step S2, thedrawing command is executed by the processing unit such as the imageprocessing unit 97 or the character processing unit 98 within thedrawing data processing unit 92 (Step S12). Further, when “NO” isdetermined in Step S8, the specified command (command interpreted inStep S2) is executed (Step S13).

According to the first embodiment, the drawing commands for vectorobjects the number of which is equal to or larger than a threshold valueare collectively executed, which can speed-up a process for print datathat uses a large number of vector commands continuously.

Further, according to the first embodiment, the drawing commands for thevector objects are collectively executed when the command for a processdifferent from the vector drawing is received, which can speed-up theprocess for the print data that uses a large number of vector commandscontinuously.

Second Embodiment

FIG. 6 is a schematic diagram illustrating a functional blockconfiguration of a vector processing unit of the image forming apparatusaccording to the second embodiment.

In the above-described first embodiment, the drawing process for thevector object is executed when a counter of the drawing command for thevector object has a value equal to or larger than the threshold value,while in the second embodiment, a vector processing unit 960 illustratedin FIG. 6 is provided in place of the vector processing unit 96 of thefirst embodiment.

The vector processing unit 960 includes: a coordinate determination unit961 that determines whether or not an x-coordinate or a y-coordinate ofa path specified in each of successive drawing commands for vectorobjects is the same; and a vector process execution unit 962 thatexecutes the drawing commands for vector objects determined to have thesame coordinate by the coordinate determination unit 961 when there is adrawing command for a vector object in which a path having a differentcoordinate from the coordinate that has been determined to be the sameby the coordinate determination unit 961 is specified. The coordinatedetermination unit 961 determines the coordinate specified in thedrawing command based on the path information managed by the pathmanagement unit 99.

Now, a description is made of the vector drawing process executed inthis embodiment. FIG. 7 is a flowchart illustrating the vector drawingprocess executed by the image forming apparatus according to the secondembodiment.

In this process, in the same manner as the process of FIG. 5, the imageforming apparatus 1 receives the PDL data by the data reception unit 12(Step S101), then interprets the command within the PDL data by the dataanalysis unit 91 (Step S102), and repeatedly executes the process ofloop 1 from Step S103 to Step S113 each time the command is interpreteduntil the data termination command is executed.

In the process of loop 1, the data analysis unit 91 determines whetheror not the command interpreted in Step S102 is the drawing command (StepS103). When “YES” is determined in Step S103, the data analysis unit 91determines whether or not the command interpreted in Step S102 is thedrawing command for the vector object (Step S104).

When “YES” is determined in Step S104, in the vector processing unit960, the coordinate determination unit 961 adds “1” to a value of avector command counter 963 each time the drawing command for the vectorobject is transmitted, and further determines whether or not thex-coordinate or the y-coordinate of the path specified in each of thesuccessive drawing commands for the vector objects is the same (StepS105). When “NO” is determined, the vector process execution unit 962executes the drawing process for the vector object (Step S106), andresets the value of the vector command counter 963 (Step S107).

When “NO” is determined in Step S103, the data analysis unit 91determines whether or not the command interpreted in Step S102 is thepage delivery command (Step S108). When “NO” is determined in Step S104or when “YES” is determined in Step S108, the coordinate determinationunit 961 determines whether or not the value of the vector commandcounter 963 is equal to or larger than 1 (Step S109). When “YES” isdetermined in Step S109, the vector process execution unit 962 executesthe drawing process for the vector object (Step S110), and resets thevalue of the vector command counter 963 (Step S111).

After the process of Step S111 is executed or when “NO” is determined inStep S109, in accordance with the command interpreted in Step S102, thedrawing command is executed by the processing unit such as the imageprocessing unit 97 or the character processing unit 98 within thedrawing data processing unit 92 (Step S112). Further, when “NO” isdetermined in Step S108, the specified command (command interpreted inStep S102) is executed (Step S113).

According to this embodiment, for example, when there is a change in they-coordinate of the path specified in the drawing command for the vectorobject, the drawing commands for the vector objects involving the pathshaving the same y-coordinate before the change are executed. Therefore,in a case where horizontal line segments of a broken line are drawn witheach solid line part of the broken line drawn by vector commandsindependent of one another, the horizontal line segments of the brokenline can be collectively drawn. Further, when there is a change in thex-coordinate of the path specified in the drawing command for the vectorobject, the drawing commands for the vector objects involving the pathshaving the same x-coordinate before the change are executed. Therefore,in a case where vertical line segments of a broken line are drawn witheach solid line part of the broken line drawn by vector commandsindependent of one another, the vertical line segments of the brokenline can be collectively drawn.

According to the second embodiment, the drawing commands for vectorobjects involving the successive paths having the same x-coordinate ory-coordinate are collectively executed, which can speed-up the processfor the print data that uses a large number of vector commandscontinuously to draw horizontal line segments or vertical line segments.

Note that, the vector process execution unit 962 may be configured toexecute the drawing commands for vector objects determined to have thesame coordinate by the coordinate determination unit 961 when thecommand for a process different from the vector drawing is received.

It should be understood that various changes and modifications to theembodiments described herein will be apparent to those skilled in theart. Such changes and modifications may be made without departing fromthe spirit and scope of the present subject matter and withoutdiminishing its intended advantages. It is therefore intended that suchchanges and modifications be covered by the appended claims.

What is claimed is:
 1. An image forming apparatus, comprising: acoordinate determination unit that determines whether one of anx-coordinate and a y-coordinate of a path specified in each ofsuccessive drawing commands for vector objects is the same, wherein thesuccessive drawing commands are received in incoming printable data; anda drawing process execution unit that executes, when there is a drawingcommand for a vector object in which a specified coordinate of a path isdifferent from the coordinate that has been determined to be the same bythe coordinate determination unit, all the drawing commands for thevector objects determined to have the same coordinate by the coordinatedetermination unit.
 2. The image forming apparatus according to claim 1,wherein the drawing process execution unit executes, when an command fora process different from the vector drawing is received, all the drawingcommands for the vector objects determined to have the same coordinateby the coordinate determination unit before the different command isreceived.
 3. The image forming apparatus according to claim 1, whereinthe incoming printable data is page description language (PDL) datadescribing one or more of a text object, a vector object, or a rasterobject.
 4. The image forming apparatus according to claim 2, wherein theincoming printable data is page description language (PDL) datadescribing one or more of a text object, a vector object, or a rasterobject, and wherein the command different from the drawing command forthe vector object is one of a command for a text object or a command fora raster object.